import pygame
import sys
import time
import random
import time

#Iniciar pygame
pygame.init()

#variables
puntuacion = 0
puntuacione = 0
posicion = 0
posicione = 3
cero = 0

#ventana
ancho = 1280
alto = 833
ventana = pygame.display.set_mode((ancho, alto))
pygame.display.set_caption('marcos`s game')
blanco = (255,255,255)

#Texto
fuente = pygame.font.SysFont(None, 60)
texto = fuente.render("catch the plane", True, blanco)
textoRect = texto.get_rect()
textoRect.centerx = ventana.get_rect().centerx
textoRect.centerx = ventana.get_rect().centery
ventana.blit(texto, (400,170))

#Texto2
fuente2 = pygame.font.SysFont(None, 35)
texto2 = fuente2.render("<tres segundos comenzara>", True, blanco)
ventana.blit(texto2, (135,470))

#Controles
controles = fuente2.render("Controles:", True, blanco)
ventana.blit(controles, (30,220))


humano = fuente2.render("tu", True, blanco)
ventana.blit(humano, (140,280))

w = fuente.render("W", True, blanco)
ventana.blit(w, (170,330))

s = fuente.render("S", True, blanco)
ventana.blit(s, (174,380))

a = fuente.render("A", True, blanco)
ventana.blit(a, (120,380))

d = fuente.render("D", True, blanco)
ventana.blit(d, (228,380))
pzombie = fuente2.render("si no juegas solo", True, blanco)
ventana.blit(pzombie, (900,380))
zzombie = fuente2.render("el otro: Flechas de direccion", True, blanco)
ventana.blit(zzombie, (900,400))

espacio = fuente.render("l: disparar", True, blanco)
ventana.blit(espacio, (500,380))

pygame.display.update()
time.sleep(3)

#aleatorio
for q in range(10):
    x_alea = random.randint(0,1280)
for w in range(10):
	y_alea = random.randint(0,853)

avion2 = pygame.image.load("img/avion2.png")
xz=random.randint(0,1280)
yz=random.randint(0,833)
ventana.blit(avion2, [xz,yz])
pygame.display.flip()
pygame.display.update()



wall = pygame.image.load("img/fondo3.png")
x,y = 0,0
ventana.blit(wall, [x,y])
pygame.display.flip()

tio = pygame.image.load("img/avion1.gif")
xt,yt = 35,310
ventana.blit(tio, [xt,yt])
pygame.display.flip()
pygame.display.update()


tio2 = pygame.image.load("img/avion2.gif")
xt,yt = 35,310
ventana.blit(tio, [xt,yt])
pygame.display.flip()
pygame.display.update()

tio3 = pygame.image.load("img/avion3.gif")
xt,yt = 35,310
ventana.blit(tio, [xt,yt])
pygame.display.flip()
pygame.display.update()

tio4 = pygame.image.load("img/avion4.gif")
xt,yt = 35,310
ventana.blit(tio, [xt,yt])
pygame.display.flip()
pygame.display.update()

#avion2
malo = pygame.image.load("img/malo1.png")
xz,yz = x_alea,y_alea
ventana.blit(malo, [xz,yz])
pygame.display.flip()
pygame.display.update()


malo1 = pygame.image.load("img/malo2.png")
xz,yz = x_alea,y_alea
ventana.blit(malo, [xz,yz])
pygame.display.flip()
pygame.display.update()

malo2 = pygame.image.load("img/malo3.png")
xz,yz = x_alea,y_alea
ventana.blit(malo, [xz,yz])
pygame.display.flip()
pygame.display.update()

malo3 = pygame.image.load("img/malo4.png")
xz,yz = x_alea,y_alea
ventana.blit(malo, [xz,yz])
pygame.display.flip()
pygame.display.update()


rayo = pygame.image.load("img/rayo.jpg")
xt,yt = 35,310
ventana.blit(tio, [xt,yt])
pygame.display.flip()
pygame.display.update()

rayo2 = pygame.image.load("img/rayo2.jpg")
xt,yt = 35,310
ventana.blit(tio, [xt,yt])
pygame.display.flip()
pygame.display.update()

#rayo 2222
rayo1 = pygame.image.load("img/rayo.jpg")
xz,yz = x_alea,y_alea
ventana.blit(malo, [xz,yz])
pygame.display.flip()
pygame.display.update()

rayo12 = pygame.image.load("img/rayo2.jpg")
xz,yz = x_alea,y_alea
ventana.blit(malo, [xz,yz])
pygame.display.flip()
pygame.display.update()


fuente_puntuacion = pygame.font.SysFont(None, 16)

def dibujar_puntuacion(puntos_jugador1, puntos_jugador2):
    puntos_jugador1 = fuente_puntuacion.render("Jugador1: " + str(puntos_jugador1) + " puntos", True, blanco)
    puntos_jugador2 = fuente_puntuacion.render("Jugador2: " + str(puntos_jugador2) + " puntos", True, blanco)
    ventana.blit(puntos_jugador1,(10, 10))
    ventana.blit(puntos_jugador2,(10, 20))


#Bucle de eventos
while True:
    for event in pygame.event.get():
        
        if event.type == pygame.QUIT:
            pygame.quit()
            sys.exit() 
            pygame.display.flip()
        
        if event.type == pygame.KEYDOWN :

            """
            
            NO ES OBLIGATORIO USAR flip() despues de blit()
            
            if event.key == pygame.K_a:
                ventana.blit(wall, [0,0])
                pygame.display.flip()
                xt = xt-11
                ventana.blit(tio3, (xt,yt))
                pygame.display.flip()
                ventana.blit(avion2, (xz,yz))
                pygame.display.flip()
                posicion = 3

            """ 
            #avion2
            if event.key == pygame.K_a:
                ventana.blit(wall, [0,0])
                xt = xt-11
                ventana.blit(tio3, (xt,yt))
                ventana.blit(avion2, (xz,yz))
                pygame.display.flip()
                posicion = 3
            if event.key == pygame.K_d :
                ventana.blit(wall, [0,0])
                xt = xt+11
                ventana.blit(tio, (xt,yt))
                ventana.blit(avion2, (xz,yz))
                pygame.display.flip()
                posicion = 0
            if event.key == pygame.K_w:
                ventana.blit(wall, [0,0])
                yt = yt-11
                ventana.blit(tio4, (xt,yt))
                ventana.blit(avion2, (xz,yz))
                pygame.display.flip()
                posicion = 1
            if event.key == pygame.K_s:
                ventana.blit(wall, [0,0])
                yt = yt+11
                ventana.blit(tio2, (xt,yt))
                ventana.blit(avion2, (xz,yz))
                pygame.display.flip()
                posicion = 2

            #person 2            
            if event.key == pygame.K_LEFT:
                ventana.blit(wall, [0,0])
                pygame.display.update()
                xz = xz-9
                ventana.blit(malo, (xz,yz))
                ventana.blit(tio, (xt,yt))
                pygame.display.flip()
                posicione = 3
            if event.key == pygame.K_RIGHT:
                ventana.blit(wall, [0,0])
                xz = xz+9
                ventana.blit(malo1, (xz,yz))
                ventana.blit(tio, (xt,yt))
                pygame.display.flip()
                posicione = 0
           
            if event.key == pygame.K_UP:
                ventana.blit(wall, [0,0])
                yz = yz-9
                ventana.blit(malo2, (xz,yz))
                ventana.blit(tio, (xt,yt))
                pygame.display.flip()
                posicione = 1
           
            if event.key == pygame.K_DOWN:
                ventana.blit(wall, [0,0])
                yz = yz+9
                ventana.blit(malo3, (xz,yz))
                ventana.blit(tio, (xt,yt))
                pygame.display.flip()
                posicione = 2
                
            
            #disparo verde
            if (event.key == pygame.K_l and posicion == 0):
                x_c = xt+30
                y_v = yt+16
                for i in range(0,6):
					ventana.blit(rayo, (x_c,y_v))
					pygame.display.flip()
					time.sleep(0.1)
					x_c = x_c+20
					if ((x_c>=xz and y_v>=yz) and (x_c<=xz+40 and y_v<=yz+40)):
						ventana.blit(wall, [0,0])
						#pygame.display.flip()
						ventana.blit(tio, (35,310))
						#pygame.display.flip()
                        #Texto3
						uno = fuente2.render("ganas verde, muevete para continuar", True, blanco)
						ventana.blit(uno, (30,220))
						xz=random.randint(0,1280)
						yz=random.randint(0,833)
						xt= 35
						yt =310
						puntuacion = puntuacion +1
						dibujar_puntuacion(puntuacion, puntuacione)
						pygame.display.flip()
						#pygame.display.update()
						time.sleep(3)
						
            if (event.key == pygame.K_l and posicion == 1):
                x_c=xt+16
                y_v=yt-32
                for r in range(0,6):
                    ventana.blit(rayo2, (x_c,y_v))
                    pygame.display.flip()
                    time.sleep(0.1)
                    y_v = y_v-20

                    if ((x_c>=xz and y_v>=yz)and(x_c<=xz+40 and y_v<=yz+40)):
                        ventana.blit(wall, (0,0))
                        pygame.display.flip()
                        ventana.blit(tio, (35,310))
                        pygame.display.flip()
                        pygame.display.update()
                        

                                                #Texto3
                        uno = fuente2.render("ganas verde, muevete para continuar", True, blanco)
                        
                        ventana.blit(uno, (30,220))
                        

                        time.sleep(3)
                        ventana.blit(avion2, [random.randint(0,1280),random.randint(0,853)])
                        pygame.display.flip()
                        xt= 35
                        yt =310
                        xz=random.randint(0,1280)
                        yz=random.randint(0,833)
                        pygame.display.update()
                        puntuacion = puntuacion +1

            if (event.key == pygame.K_l and posicion == 2):

                x_c=xt+17
                y_v=yt+32
                for p in range(0,6):
                    ventana.blit(rayo2, (x_c,y_v))
                    pygame.display.flip()
                    time.sleep(0.1)
                    y_v = y_v+20

                    if ((x_c>=xz and y_v>=yz)and(x_c<=xz+40 and y_v<=yz+40)):
                        ventana.blit(wall, (0,0))
                        pygame.display.flip()
                        ventana.blit(tio, (35,310))
                        pygame.display.flip()
                        pygame.display.update()
                       
                       
                                                #Texto3
                        uno = fuente2.render("ganas verde, muevete para continuar", True, blanco)
                        
                        ventana.blit(uno, (30,220))
                        
                        time.sleep(3)
                        ventana.blit(avion2, [random.randint(0,1280),random.randint(0,853)])
                        pygame.display.flip()
                        xt= 35
                        yt =310
                        xz=random.randint(0,1280)
                        yz=random.randint(0,833)
                        pygame.display.update()
                        puntuacion = puntuacion +1

            if (event.key == pygame.K_l and posicion == 3):
                x_c=xt-17
                y_v=yt+17
                for o in range(0,6):
                    ventana.blit(rayo, (x_c,y_v))
                    pygame.display.flip()
                    time.sleep(0.1)
                    x_c = x_c-20

                    pygame.display.update()
                    if ((x_c>=xz and y_v>=yz)and(x_c<=xz+40 and y_v<=yz+40)):
                        ventana.blit(wall, (0,0))
                        pygame.display.flip()
                        ventana.blit(tio, (35,310))
                        pygame.display.flip()
                        pygame.display.update()
                        puntuacion = puntuacion+1
                        
                        
                        #Texto3
                        fuente2 = pygame.font.SysFont(None, 35)
                        uno = fuente2.render("ganas verde, muevete para continuar", True, blanco)
                        
                        ventana.blit(uno, (30,220))
                        

                        time.sleep(3)
                        ventana.blit(avion2, [random.randint(0,1280),random.randint(0,853)])
                        pygame.display.flip()
                        xt= 35
                        yt =310
                        xz=random.randint(0,1280)
                        yz=random.randint(0,833)
                        pygame.display.update()
           
           
           
            if (event.key == pygame.K_m and posicione == 0):
                x_u = xz+30
                y_r = yz+16
                for i in range(0,6):
					ventana.blit(rayo1, (x_u,y_r))
					pygame.display.flip()
					time.sleep(0.1)
					x_u = x_u+20
					if ((x_u>=xt and y_r>=yt) and (x_u<=xt+40 and y_r<=yt+40)):
						ventana.blit(wall, [0,0])
						pygame.display.flip()
						ventana.blit(malo, (xz,yz))
						pygame.display.flip()

						                        #Texto3
						uno = fuente2.render("ganas segundo jugador, muevete para continuar", True, blanco)
						
						ventana.blit(uno, (30,220))


						
						xz=random.randint(0,1280)
						yz=random.randint(0,833)
						xt= 35
						yt =310
						
						puntuacione = puntuacione +1
						dibujar_puntuacion(puntuacion, puntuacione)
						pygame.display.flip()
						pygame.display.update()
						time.sleep(3)


            if (event.key == pygame.K_m and posicione == 1):
                x_u = xz+32
                y_r = yz+16
                for i in range(0,6):
					ventana.blit(rayo12, (x_u,y_r))
					pygame.display.flip()
					time.sleep(0.1)
					y_r = y_r-20
					if ((x_u>=xt and y_r>=yt) and (x_u<=xt+40 and y_r<=yt+40)):
						ventana.blit(wall, [0,0])
						pygame.display.flip()
						ventana.blit(malo, (xz,yz))
						pygame.display.flip()

						                        #Texto3
						uno = fuente2.render("ganas segundo jugador, muevete para continuar", True, blanco)
						
						ventana.blit(uno, (30,220))


						time.sleep(3)
						xz=random.randint(0,1280)
						yz=random.randint(0,833)
						xt= 35
						yt =310
						pygame.display.flip()
						pygame.display.update()
						puntuacione = puntuacione +1
            if (event.key == pygame.K_m and posicione == 2):
                x_u = xz+32
                y_r = yz+17
                for i in range(0,6):
					ventana.blit(rayo12, (x_u,y_r))
					pygame.display.flip()
					time.sleep(0.1)
					y_r = y_r+20
					if ((x_u>=xt and y_r>=yt) and (x_u<=xt+40 and y_r<=yt+40)):
						ventana.blit(wall, [0,0])
						pygame.display.flip()
						ventana.blit(malo, (xz,yz))
						pygame.display.flip()

						                        #Texto3
						uno = fuente2.render("ganas segundo jugador, muevete para continuar", True, blanco)
						
						ventana.blit(uno, (30,220))


						time.sleep(3)
						xz=random.randint(0,1280)
						yz=random.randint(0,833)
						xt= 35
						yt =310
						pygame.display.flip()
						pygame.display.update()
						puntuacione = puntuacione +1
            if (event.key == pygame.K_m and posicione == 3):
                x_u = xz+17
                y_r = yz+17
                for i in range(0,6):
					ventana.blit(rayo1, (x_u,y_r))
					pygame.display.flip()
					time.sleep(0.1)
					x_u = x_u-20
					if ((x_u>=xt and y_r>=yt) and (x_u<=xt+40 and y_r<=yt+40)):
						ventana.blit(wall, [0,0])
						pygame.display.flip()
						ventana.blit(malo, (xz,yz))
						pygame.display.flip()

						                        #Texto3
						uno = fuente2.render("ganas segundo jugador, muevete para continuar", True, blanco)
						
						ventana.blit(uno, (30,220))


						time.sleep(3)
						xz=random.randint(0,1280)
						yz=random.randint(0,833)
						xt= 35
						yt =310
						pygame.display.flip()
						pygame.display.update()
						puntuacione = puntuacione +1


